package com.css.dzj.dzjap.modules.force.service;

import com.css.dzj.dzjap.modules.force.entity.ApJgxxForceEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;

public interface ForceService {


    /**
     * 通过ID查询（行政强制行为）监管信息信用表
     */
    ApJgxxForceEntity getForce(String forceId);


    /**
     * 修改（行政强制行为）监管信息信用表
     */
    void updateForce(ApJgxxForceEntity apJgxxForceEntity);


    /**
     * 通过ID删除(行政强制行为）监管信息信用表
     */
    Boolean delForce(String forceId);

    /**
     * 添加(行政强制行为）监管信息信用表
     */
    String addForce(ApJgxxForceEntity apJgxxForceEntity);

    /**
     * 分页查询
     */
    QueryResults<ApJgxxForceEntity> getAllForce(Pageable pageable);

    /**
     * 条件查询
     */
    QueryResults<ApJgxxForceEntity> getAllContation(Pageable pageable, String superviseId, String forceActionName, String forceActionCode, String submittedDate);


    HashMap getCount();

    HashMap getCountByYear(String year);
    Long getOpCheck(HttpServletRequest request);

    /**
     * 多条件查询强制行为
     */
    QueryResults<ApJgxxForceEntity> getWtContation(String superviseId, String forceActionName, String implementInstitution,Pageable pageable);

    /**
     * 根据参数导出数据到Excel
     */
    List<ApJgxxForceEntity> forceList(String superviseId, String forceActionName, String implementInstitution);

    /**
     * 多条件导出数据
     */
    void exportForceToExcel(HttpServletResponse response, List<ApJgxxForceEntity> forceList);

    /**
     *根据ids查询导出数据
     */
    List<ApJgxxForceEntity> queryByIds(String ids);

    /**
     * 统计数
     */
    String getForceCount();

    /* 对外提供接口*/
    List<ApJgxxForceEntity> getApList();

}
